目前為止,我們的練習都是直接在XML中輸入所需文字,但如果要讓App能夠根據使用者手機語言設定調整呢? 這時就需要用到資源Resources
了。
在Android的資源中,除了預設資源,我們還能夠設定許多替代資源以應付各種狀況,例如:
在res資料夾中(有關資料夾的結構,可參考Day 6. VIEWS - 簡單的回顧),App會依據系統的語言設定決定要讀的資料夾,如果沒有對應的,就讀預設的vlaues
:
strings.xml
,查看預設內容如下:<resources>
<string name="app_name">Java2</string>
</resources>
將app中所有要轉換的字抽出來,放到strings.xml中,例如TextView的屬性:android:text="姓名"
換成android:text="@string/customerName"
在strings.xml的<resources> </resources>
標籤中新增:
<string name="customerName">姓名</string>
<resources>
<string name="app_name">Java2</string>
<string name="storeName">這樣母Tom便當店</string>
<string name="customerName">姓名</string>
<string name="addPlasticBag">加購購物袋(需加2元)</string>
<string name="quantity">數量</string>
<string name="orderInfo">訂單資訊</string>
<string name="submit">送出訂單</string>
</resources>
在Android Studio的左側目錄樹中,對strings.xml按右鍵 > 打開Translations Editor:
按Add Local按鈕(地球圖示),找到要用的語言,例如us
在對應表中填入對應的語言文字,設定完後可以發現strings資料夾下多了兩個不同的strings.xml檔案,分別為us與ja
將手機的語言設定分別設定為繁體中文、英文、日文時,App顯示如下:
(以下翻譯結果概不負責
)